public class IsSymmetric {
    /**
     * 请实现一个函数，用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样，那么它是对称的。
     * @param root
     * @return
     */
    public boolean isSymmetric(TreeNode root) {
        if (root==null)
            return true;
        if (root.left==null&&root.right==null)
            return true;
        else if (root.left!=null&&root.right!=null){
            return check(root.left,root.right);
        }else{
            return false;
        }


    }
    public boolean check(TreeNode left,TreeNode right){
        if (left==null&&right==null)
            return true;
        else if (left!=null&&right!=null){
            if (left.val==right.val){
                return check(left.left,right.right)&&check(left.right,right.left);
            }else {
                return false;
            }
        }else {
            return false;
        }


    }
}
